#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//int main()//1
//{
//	int n = 0;
//	int ret = 1;
//	scanf("%d", &n);
//	while (n > 1)
//	{
//		ret = ret * n;
//		n--;
//	}
//	printf("%d\n", ret);
//	return 0;
//}

//
//void Print(int n)
//{
//	if (n > 9)
//	{
//	   Print(n / 10);
//	 }
//	printf("%d ", n % 10);
//}
//
//int main()
//{
//	int m = 0;
//	scanf("%d", &m);
//	Print(m);
//
//	return 0;
//}



//int fac(int i)
//{
//	if (i <= 1)
//	{
//		return 1;
//	}
//	else
//	{
//		return i * fac(i - 1);
//	}
//}
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = fac(n);
//	printf("%d", ret);
//	return 0;
//}

//int my_strlen(char* s)
//{
//	if (*s == '\0')
//		return 0;
//	else
//		return 1 + my_strlen(s+1);
//}
//
//int main()
//{
//	
//	char arr[] = "abcde";
//	
//	int len = my_strlen(arr);
//
//	printf("%d\n", len);
//
//	return 0;
//}

//int main()
//{
//	char arr[] = "wwwww";
//	int count = 0;
//	char* s = &arr;
//	while (*s != '\0')
//	{
//		count++;
//		s = s + 1;
//
//	}
//	printf("%d\n", count);
//	return 0;
//}

//int fib(int n)
//{
//	if (n <= 2)
//	{
//		return 1;
//	}
//	else
//	{
//		return fib(n - 1) + fib(n - 2);
//	}
//
//}
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = fib(n);
//	printf("%d\n", ret);
//
//	return 0;
//}

//int pow(int k, int n)
//{
//	if (k > 1)
//	{
//		return n * pow(k - 1, n);
//	}
//	else
//	{
//		return n;
//	}
//
//}
//
//int main()
//{
//	int k = 0;
//	int n = 0;
//	scanf("%d %d", &k, &n);
//	int ret = pow(k, n);
//	printf("%d\n", ret);
//	return 0;
//}

//int DigitSum(int i)
//{
//	if (i < 10)
//	{
//		return i;
//	}
//	else
//	{
//		return i % 10 + DigitSum(i / 10);
//	}
//
//}
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = DigitSum(n);
//	printf("%d\n", ret);
//	return 0;
//}

int reverse_string(char *n)
{
	
	if (*n == '\0')
	{
		return 0;
	}
	else
	{
		reverse_string(n + 1);
		printf("%c", *n);
	}
	return 0;
}

int main()
{
	char *input = "abcdef";
	reverse_string(input);

	return 0;
}

